<?php

class Temporal_model extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function crudTopografias($accion, $topografia, $medida, $unidad, $transaccion, $temporal2, $id = null) {
        $topografia = addslashes($topografia);
        $medida = addslashes($medida);
        $unidad = addslashes($unidad);
        $pendientes = addslashes($temporal2);
        switch ($accion) {
            case 'add':
                $sql = "insert into temporal(temporalVar1,temporalDecimal1,temporalInt1,transaccion,temporalVar2) values ('$topografia','$medida','$unidad','$transaccion','$pendientes')";
                break;
            case 'edit':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "update temporal set temporalVar1 = '$topografia',temporalDecimal1 = '$medida',temporalInt1 = '$unidad',temporalVar2 = '$pendientes' where temporalId = '$id'";
                break;
            case 'del':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "delete from temporal where temporalId = '$id'";
                break;
        }
        $this->db->query($sql);
        return;
    }

    public function crudConstrucciones($accion, $uso, $medida, $unidad, $estado, $vetuztes, $descripcion, $transaccion, $id = null) {
        $uso = addslashes($uso);
        $descripcion = addslashes($descripcion);
        switch ($accion) {
            case 'add':
                $sql = "insert into temporal(temporalVar1,temporalDecimal1,temporalInt1,temporalInt2,temporalInt3,temporalText1,transaccion) ";
                $sql .= " values ('$uso','$medida','$unidad','$estado','$vetuztes','$descripcion','$transaccion')";
                break;
            case 'edit':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "update temporal set temporalVar1 = '$uso',";
                $sql .= "temporalDecimal1 = '$medida',";
                $sql .= "temporalInt1 = '$unidad',";
                $sql .= "temporalInt2 = '$estado',";
                $sql .= "temporalInt3 = '$vetuztes',";
                $sql .= "temporalText1 = '$descripcion'";
                $sql .= " where temporalId = '$id'";
                break;
            case 'del':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "delete from temporal where temporalId = '$id'";
                break;
        }
        $this->db->query($sql);
        return;
    }

    public function crudElementos($accion, $nombre, $cantidad, $valUnidad, $transaccion, $unidad, $id = null) {
        $nombre = addslashes($nombre);
        $total = $cantidad * $valUnidad;
        switch ($accion) {
            case 'add':
                $sql = "insert into temporal(temporalVar1,temporalDecimal1,temporalInt1,temporalDecimal2,transaccion,temporalInt2) ";
                $sql .= " values ('$nombre','$valUnidad','$cantidad','$total','$transaccion','$unidad')";
                break;
            case 'edit':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "update temporal set temporalVar1 = '$nombre',";
                $sql .= "temporalDecimal1 = '$valUnidad',";
                $sql .= "temporalInt1 = '$cantidad',";
                $sql .= "temporalInt2 = '$unidad',";
                $sql .= "temporalDecimal2 = '$total'";
                $sql .= " where temporalId = '$id'";
                break;
            case 'del':
                if (!is_numeric($id))
                    exit("Número id invalido");
                $sql = "delete from temporal where temporalId = '$id'";
                break;
        }
        $this->db->query($sql);
        return;
    }

    public function cargaInvestiga($topografias, $transaccion) {
        $retorna = array();
        $sql = "select * from temporal where transaccion = '$topografias'";
        $result = $this->db->query($sql);
        if ($result->num_rows() > 0) {
            foreach ($result->result() as $topografia) {
                $tmp = $this->extraeInvestiga($topografia->temporalId, $transaccion, $topografia->temporalVar1);
                if (!is_object($tmp)) {
                    $retorna[$topografia->temporalId] = array($topografia->temporalVar1);
                } else
                    $retorna[$topografia->temporalId] = $tmp;
            }
            return $retorna;
        }
        else
            return '0';
    }

//fin public function cargaInvestiga($transaccion){

    private function extraeInvestiga($topografia, $transaccion, $titulo) {
        //el orden de los campos en el select debe ser el mismo de la vista
        $sql = "select '$titulo',temporalDecimal1,temporalDecimal2,temporalDecimal3,temporalDecimal4,temporalDecimal5,temporalDecimal6,temporalDecimal7,temporalDecimal8,temporalDecimal9,temporalDecimal10,temporalDecimal11,temporalDecimal12 from temporal where transaccion = $transaccion and temporalInt1 = '$topografia'";
        $result = $this->db->query($sql);
        if ($result->num_rows() > 0) {
            $result = $result->result();
            return $result[0];
        } else
            return '0';
    }

//fin private function extraeInvestiga($topografia,$transaccion){

    public function grdInvestiga($transaccion) {
        if (isset($_POST["columnas"])) {
            $topoId = 0;
            $i = 0;
            $sql = "delete from temporal where transaccion = '$transaccion'";
            $this->db->query($sql);
            for ($i = 0; $i < $_POST["columnas"]; $i++) {
                $topoId = $_POST[$i];
                $sql = "insert into temporal(transaccion,temporalInt1,temporalDecimal1,temporalDecimal2,temporalDecimal3,temporalDecimal4,temporalDecimal5,temporalDecimal6,temporalDecimal7,temporalDecimal8,temporalDecimal9,temporalDecimal10,temporalDecimal11,temporalDecimal12) ";
                $sql .= " values($transaccion,'$topoId','{$this->retornaNumero($_POST["investiga" . $topoId . "_0"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_1"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_2"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_3"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_4"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_5"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_6"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_7"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_8"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_9"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_10"])}','{$this->retornaNumero($_POST["investiga" . $topoId . "_11"])}')";
                $result = $this->db->query($sql);
            } //fin for($i = 0; $i < $_POST["columnas"];$i ++){
        }
        return '1';
    }

//fin public function grdInvestiga($transaccion){

    public function retornaNumero($valor) {
        return (is_numeric($valor) || is_float($valor)) ? $valor : 0;
    }

    public function cuentaConsAne($transaccion1, $transaccion2) {
        $sql = "select count(*) as total from temporal where transaccion in ($transaccion1,$transaccion2)";
        $res = $this->db->query($sql)->result();
        return $res[0]->total;
    }

//fin public function  cuentaConsAne($transaccion1,$transaccion2){

    public function guardaDepre($transaccion) {
        if (!isset($_POST["filas"]))
            return true;
        $this->db->query("delete from temporal where transaccion = $transaccion");
        $c = 0;
        for ($c = 0; $c < $_POST["filas"]; $c++) {
            //vida util -> temporalInt1
            //eDAD EN %->temporalDecimal1
            //ESTADO CONSERVACION -> temporalDecimal2
            //VALORREPOSICION -> temporalDecimal3
            //% DEPRECIACION -> temporalDecimal4
            //val depreciacion-> temporalDecimal5
            //VALOR DEPRECIADO -> temporalDecimal7
            //VALOR ADOPTADO -> temporalDecimal6
            //TABLA TEMPORAL ID -> temporalInt2
            $sql = "select * from temporal where `temporalId` = {$_POST["temporalId$c"]}";
            $result = $this->db->query($sql)->result();
            $vidaUtil = $this->retornaNumero($_POST["cambiaVidaUtil$c"]);
            $estConserva = $this->retornaNumero($_POST["cambiaEstConserva$c"]);
            if (($estConserva - (int) $estConserva) == 0)
                $estConserva = (int) $estConserva;
            $valReposicion = $this->retornaNumero($_POST["valReposicion$c"]);
            $campo = $estConserva . "_col";
            $varPorEdad = ($vidaUtil > 0) ? round($result[0]->temporalInt3 / $_POST["cambiaVidaUtil$c"] * 100) : 0;
            if ($estConserva > 0) {
                $sql = "select `$campo`,`fittoYcorviniId` from fittoYcorvini where `fittoYcorviniEstado` = $varPorEdad";
                $fito = $this->db->query($sql)->result();
                $porDeprecia = $fito[0]->$campo;
            }else
                $porDeprecia = 0;
            $valDepreciacion = round(($valReposicion * $porDeprecia)/100,2);
            $valDepreciado = round($valReposicion - $valDepreciacion,2);
            $sql = "insert into temporal(transaccion,`temporalInt1`,`temporalDecimal1`,`temporalDecimal2`,`temporalDecimal3`,`temporalDecimal4`,`temporalDecimal5`,temporalDecimal7,`temporalDecimal6`,`temporalInt2`) values";
            $sql .= "($transaccion,$vidaUtil,$varPorEdad,$estConserva,$valReposicion,$porDeprecia,$valDepreciacion,$valDepreciado,{$this->retornaNumero($_POST["valAdoptado$c"])},{$_POST["temporalId$c"]})";
            $this->db->query($sql);
        } //fin for ($c = 0; $c < $_POST["filas"]; $c++) {
    }

//fin public function guardaDepre($transaccion){
}

//fin class
?>
